package com.itheima;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * @ProjectName: ybxy6
 * @Titile: LinkedlistDemo
 * @Author: 86183
 * @Description: TODO
 */
public class LinkedlistDemo {
    public static void main(String[] args) {
        LinkedList<String> list = new LinkedList<>();//创建列表集合对象：1.list为变量名，本质是一个对象2.LinkedList为类名
        // 3.<String>为泛型4.list为对象名5.new LinkedList()为构造方法6.()为构造方法参数7.addLast("张三")为方法,调用方法
        list.addFirst("张三");
        list.addLast("李四");
        list.addLast("王五");
        list.addLast("赵六");
        list.addLast("钱七");
        String  s= list.get(3);//o（n）查询效率慢
        ArrayList<String> arrayList= new ArrayList<>();
        arrayList.get(3);//o（1）查询极快

        String first= list.getFirst();
        System.out.println(first);
        String last= list.getLast();
        System.out.println(last);

        String removeFirst= list.removeFirst();
        System.out.println(removeFirst);
        String removeLast= list.removeLast();
        System.out.println(removeLast);

        System.out.println(list);
    }
}
//linkedlist查询和插入的源码，和linkedlist使用方法
//红黑树的了解
//set集合：Hashset无序不重复无索引、linkedHashset:有序不重复无索引，底层依然是哈希表，但多了一个元素的双链表机制、map的集合：HashSet无序底层原理：哈希表
//TreeSet:底层原理：红黑树,不有重复，有序，无索引，不能使用null作为元素，因为null无法比较，所以不能使用null作为元素